package com.cpi.cornpp.instructionsstrategies.converter;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.cpi.cornpp.common.exception.CornPPException;
import com.cpi.cornpp.instructionsstrategies.dto.InstructionsStrategiesDTO;
import com.cpi.cornpp.instructionsstrategies.exception.InstructionsStrategiesException;
import com.cpi.cornpp.instructionsstrategies.view.InstructionsStrategiesView;

/**
 * Instructions Strategies Converter
 * @author Edgar Joao
 *
 */
public class InstructionsStrategiesConverter {
	/**
	 * Instructions Strategies Converter DTO to View
	 * @return
	 * @throws InstructionsStrategiesException
	 */
	public InstructionsStrategiesView converterInstructionsStrategiesDtoToView(InstructionsStrategiesDTO dto) throws InstructionsStrategiesException {
		InstructionsStrategiesView instructionsStrategiesView = null;
		try{
			if(dto != null){
				instructionsStrategiesView = new InstructionsStrategiesView();
				instructionsStrategiesView.setId(dto.getInstructionStrategiesId());
				instructionsStrategiesView.setShortName(dto.getShortName());
				instructionsStrategiesView.setDescription(dto.getDescription());
			}			
		}catch( Exception exception ){
			InstructionsStrategiesException instructionsStrategiesException=null;
			exception.printStackTrace(System.out);
			instructionsStrategiesException = new InstructionsStrategiesException(exception , CornPPException.LAYER_CONVERTER,CornPPException.ACTION_LISTS);
			throw instructionsStrategiesException;
		}
		return instructionsStrategiesView;
	}
	/**
	 * Converter List DTO to Views
	 * @param instructionsStrategiesDTOs
	 * @return
	 * @throws InstructionsStrategiesException
	 */
	public List convertDTOsToViews(List instructionsStrategiesDTOs) throws InstructionsStrategiesException{
		List instructionsStrategiesViews = null;		
		Iterator iterator = null;
		InstructionsStrategiesDTO instructionsStrategiesDTO = null;
		InstructionsStrategiesView instructionsStrategiesView = null;		
		try{
			instructionsStrategiesViews = new ArrayList(0);
			iterator = instructionsStrategiesDTOs.iterator();
			while(iterator.hasNext()){
				instructionsStrategiesDTO = (InstructionsStrategiesDTO) iterator.next();
				instructionsStrategiesView = converterInstructionsStrategiesDtoToView(instructionsStrategiesDTO);
				instructionsStrategiesViews.add(instructionsStrategiesView);
			}			
		}catch(Exception exception){
			InstructionsStrategiesException instructionsStrategiesException=null;
			exception.printStackTrace(System.out);
			instructionsStrategiesException = new InstructionsStrategiesException(exception , CornPPException.LAYER_CONVERTER,CornPPException.ACTION_LISTS);
			throw instructionsStrategiesException;
		}		
		return instructionsStrategiesViews;
	}
}
